package belleza.relativa

import belleza.relativa.security.User

class SolicitudesPendientesController {
    def transient springSecurityService
    def transient solicitudService
    def transient conversacionService

    def index() {
        // Si no tiene solicitudes pendientes, volver al index de Usuario
        def user = springSecurityService.getCurrentUser() as User
        def persona = user?.getPersona()
        def solicitudes = Solicitud.findAllBySolicitadoAndVista(persona, false)
        if (solicitudes.size() <= 0 ){
            flash.message = 'No tiene solicitudes pendientes'
            redirect controller: 'perfilPrivado',action: 'indexUsuario'
        }
        render(view: 'solicitudesPendientesUsuario', model: [persona: persona, solicitudPendientes: solicitudes])
    }

    def acepto() {
        def userPersona = Persona.findById(params.idSolicitado)
        def persona = Persona.findById(params.idSolicitante)
        def solicitud = Solicitud.findBySolicitanteAndSolicitado(persona, userPersona)
        solicitud.setAceptada(true)
        solicitud.setVista(true)
        solicitud.save(flush: true, failOnError: true)
        conversacionService.crear(userPersona.id, persona.id)
        redirect controller: 'perfilPrivado', action: 'indexUsuario'
    }

    def noAcepto() {
        def solicitud = Solicitud.findBySolicitanteAndSolicitado(Persona.findById(params.idSolicitante), Persona.findById(params.idSolicitado))
        solicitud.setAceptada(false)
        solicitud.setVista(true)
        solicitud.save(flush: true, failOnError: true)
        redirect controller: 'perfilPrivado', action: 'indexUsuario'
    }
}
